The phrase ‘push technology’ refers to tools and techniques used by an Internet server to send information to a client without waiting for the client to make a specific request for that information. The information is thereby ‘pushed’ to the client as opposed to being ‘pulled’ by the client (i.e. in response to a client request for the information.) By comparison to pull, push technology has the potential to give vendors and enterprises greater control of what a client sees because the server rather than the client is the final arbiter of information displayed. There is a lot of interest in push technology in the Internet community. Dozens of companies have released products purporting to use push technology. Many papers have been written on the subject.
Push technology differs from the familiar “pull” technology commonly used on The World Wide Web. With ‘pull’, a client browser must request a Web page before it is sent. Broadcast media, for example, uses push technology because it sends information out regardless of whether anyone (client side) is tuned in. Probably the oldest and most widely used push technology is e-mail. This is a push technology because the user receives mail whether or not the user wants the mail. That is, the sender pushes the message to the receiver rather than the receiver requesting the message from the sender. Push Technology is a relatively recent development and is therefore an immature technology. Standards are still emerging. Among others, Microsoft has proposed an Internet broadcast standard called CDF (Channel Definition Format) and Netscape has included a “push” component in Netscape Communicator called Netcaster which enables push delivery of information to browsers. Push Technology can be used in both internet and intranet situations.
Some systems which are described by vendors as “push” technology actually are “pull” systems which periodically request information from a server. Those systems consume a lot of bandwidth because they are client-side applications which download information on a periodic (e.g. hourly) basis. The download method can considerably slow internet traffic to a server because dozens of users in a company may have individual applications running.
True “Push” programs currently require communication to occur outside of standard HTTP protocol. The commonly used schema has been to establish a proprietary communication channel using the TCP/IP protocol. However, this requires assignment of a custom port which many organizations will prohibit for security reasons. Even in organizations that are willing to open a non-HTTP port, the different fire walls and proxies in use today make safe and reliable implementations of a custom TCP/IP notification mechanism that will not compromise the security of the firewall difficult to implement. Therefore, the custom TCP/IP port approach is not likely to become a widely accepted push mechanism for notification across the Internet of the availability of data which a server seeks to send to clients.